* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
body {
    width: 100%;
    height: 100vh;
    background-color: #212327;
    display: flex;
}
.cloud {
    position: relative;
    width: 320px;
    height: 80px;
    background-color: #b0aaaa;
    border-radius: 50px;
    margin: auto;
}
/* 地面 */
.cloud::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 20px;
    border-radius: 50%;
    bottom: -160px;
    background-color: #fff;
}
.clouds {
    position: absolute;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: #b0aaaa;
    top: -50px;
    left: 50px;
}
.clouds::after {
    position: absolute;
    content:"";
    width: 130px;
    height: 130px;
    background-color: #b0aaaa;
     left: 80px;
     top: -30px;
     border-radius: 50%;
}
.rain {
    display: flex;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%);
}
/* 雨滴 */
.rain span {
    width: 15px;
    height: 15px;
    margin:  0 5px;
    background-color: #fff;
    border-radius: 58%;
    animation: down .6s linear infinite;
    animation-duration: calc(var(--i) * 2s);

}
@keyframes down {
    0%{
        transform: translateY(0) scale(0);
    }
    100% {
        transform: translateY(178px) scale(1);
    }
}